package repositorio;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Calendar;
import java.util.List;


/**
 * The persistent class for the NOTADECREDITO database table.
 * 
 */
@Entity
@NamedQuery(name="Notadecredito.findAll", query="SELECT n FROM Notadecredito n")
public class Notadecredito implements Serializable {
	private static final long serialVersionUID = 1L;
	private int idNota;
	private Calendar fecha;
	private double importe;
	private List<Factura> facturas;

	public Notadecredito() {
	}


	@Id
	@SequenceGenerator(name="NOTADECREDITO_IDNOTA_GENERATOR" )
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="NOTADECREDITO_IDNOTA_GENERATOR")
	@Column(name="ID_NOTA")
	public int getIdNota() {
		return this.idNota;
	}

	public void setIdNota(int idNota) {
		this.idNota = idNota;
	}


	@Temporal(TemporalType.DATE)
	public Calendar getFecha() {
		return this.fecha;
	}

	public void setFecha(Calendar fecha) {
		this.fecha = fecha;
	}


	public double getImporte() {
		return this.importe;
	}

	public void setImporte(double importe) {
		this.importe = importe;
	}


	//bi-directional many-to-one association to Factura
	@OneToMany(mappedBy="notadecredito", fetch=FetchType.EAGER)
	public List<Factura> getFacturas() {
		return this.facturas;
	}

	public void setFacturas(List<Factura> facturas) {
		this.facturas = facturas;
	}

	public Factura addFactura(Factura factura) {
		getFacturas().add(factura);
		factura.setNotadecredito(this);

		return factura;
	}

	public Factura removeFactura(Factura factura) {
		getFacturas().remove(factura);
		factura.setNotadecredito(null);

		return factura;
	}

}